package com.eling.elcms.travel.service;

import com.eling.elcms.core.dao.hibernate.search.SearchCondition;
import com.eling.elcms.core.service.IGenericManager;
import com.eling.elcms.core.webapp.controller.Msg;
import com.eling.elcms.travel.model.SignUpRegister;
import com.eling.elcms.travel.model.TravelContract;
import com.eling.elcms.travel.model.view.SignUpChargeStatusView;
import com.eling.elcms.travel.model.view.SignUpRegisterSaveView;
import com.eling.elcms.travel.model.view.SignUpRegisterView;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface ISignUpRegisterManager extends IGenericManager<SignUpRegister, Long> {

	List<SignUpRegisterView> queryAll(SignUpRegister signUp,String payFul);

	List<SignUpRegister> saveAll(SignUpRegisterSaveView signUp);

	List<TravelContract> querycertificates(SearchCondition sc,
			SignUpRegister signUp,Long pkServicePoint);

	/**
	 * 获取人员入住天数
	 * @param signUp 报名登记信息
	 * @return 入住天数
	 */
	Long getCheckInDays (SignUpRegister signUp);

	Msg deleteNonMemberGroup(Long pkSignUpRegister);

	List<SignUpChargeStatusView> queryChargeStatus(Long pkPlanItemGroup);

	Map<String, Object> adjustAddSignUp(Long pkGroup, String dataSource, SignUpRegister signUp);

	SignUpRegister saveCustomer(SignUpRegister signUp, Date checkInDate, Date checkOutDate, Long pkPersonalInfo);
}
